<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>trigger(type, [data]) | jQuery API 中文手册</title>
<meta name="author" content="jQuery 中文手册 - hemin.cn/jq/">
<meta name="description" content="在每一个匹配的元素上触发某类事件。这个函数也会导致浏览器同名的默认行为的执行。比如，如果用trigger()触发一个'submit'，则同样会导致浏览器提交表单。如果要阻止这种默认行为，应返回false。 - jQuery API 中文手册">
<meta name="keywords" content="jquery,chm,手册,在线,api">
<link type="image/x-icon" href="http://hemin.cn/jq/img/favicon.ico" rel="shortcut icon">
<link type="text/css" rel="stylesheet" href="static/css/style.css">
</head>
<body id="split">
<div id='left' class='dtree'>
  <p style="text-align:center">
    <input type="text" name="query" id="query" placeholder="请输入关键字">
    <!--<input type="button" id="butsoso" value="搜索" />--></p>
  <p style="margin:7px 0; text-align:center"><a href="javascript:void(0)" id="openAll">全部展开</a> | <a href="javascript:void(0)" id="closeAll">全部折叠 </a> | <a href="index.html">速查表</a></p>
	<div id="menu">
    
    </div>
</div>
<div id="content" class="a2">
  <div rel="trigger">
    <h2><span>返回值:jQuery</span>trigger(type,[data])</h2>
    <h3>概述</h3>
    <div class="desc">
      <p>在每一个匹配的元素上触发某类事件。</p>
      <div class="longdesc">
        <p>这个函数也会导致浏览器同名的默认行为的执行。比如，如果用trigger()触发一个'submit'，则同样会导致浏览器提交表单。如果要阻止这种默认行为，应返回false。</p>
        <p>你也可以触发由bind()注册的自定义事件而不限于浏览器默认事件。</p>
        <p>事件处理函数会收到一个修复的(规范化的)事件对象，但这个对象没有特定浏览器才有的属性，比如keyCode。</p>
        <p>jQuery也支持 &lt;a href="http://docs.jquery.com/Namespaced_Events"&gt;命名空间事件&lt;/a&gt;。这允许你触发或者解除绑定一组特定的事件处理函数，而无需一一个指定。你可以在事件类型后面加上感叹号 ! 来只触发那些没有命名空间的事件处理函数。</p>
        <p><strong>jQuery 1.3中新增：</strong></p>
        <p>所有触发的事件现在会冒泡到DOM树上了。举例来说，如果你在一个段落p上触发一个事件，他首先会在这个元素上触发，其次到父元素，在到父元素的父元素，直到触发到document对象。这个事件对象有一个 .target 属性指向最开始触发这个事件的元素。你可以用 stopPropagation() 来阻止事件冒泡，或者在事件处理函数中返回false即可。</p>
        <p>事件对象构造器现在已经公开，并且你可以自行创建一个事件对象。这个事件对象可以直接传递给trigger所触发的事件处理函数。事件对象的完整属性列表可以在 &lt;a href="http://docs.jquery.com/Events/jQuery.Event"&gt;jQuery.Event&lt;/a&gt; 的文档里找到。</p>
        <p>你可以有三种方式指定事件类型：</p>
        <p>* 你可以传递字符串型的事件名称(type参数)。</p>
        <p>* 你可以使用jQuery.Event对象。可以将数据放进这个对象，并且这个对象可以被触发的事件处理函数获取到。</p>
        <p>* 最后，你可以传递一个带有数据的字面量对象。他将被复制到真正的jQuery.Event对象上去。 注意在这种情况下你'''必须'''指定一个 &lt;em&gt;type&lt;/em&gt; 属性。</p>
      </div>
    </div>
    <h3>参数</h3>
    <div class="parameter">
      <h4><strong>type,[data]</strong><span>String|Event,Array</span><em>V1.0</em></h4>
      <p><strong>type:</strong>一个事件对象或者要触发的事件类型</p>
      <p><strong>data:</strong>传递给事件处理函数的附加参数</p>
      <h4><strong>event <em> </em></strong><span>Object</span><em>V1.3</em></h4>
      <p>事件发生时运行的函数</p>
    </div>
    <div class="example">
      <h3>示例</h3>
      <span id="f_ad2"></span>
      <h4>描述:</h4>
      <p>提交第一个表单，但不用submit()</p>
      <h5>jQuery 代码:</h5>
      <pre><code>$("form:first").trigger("submit")</code></pre>
      <h4>描述:</h4>
      <p>给一个事件传递参数</p>
      <h5>jQuery 代码:</h5>
      <pre><code>$("p").click( function (event, a, b) {
  // 一个普通的点击事件时，a和b是undefined类型
  // 如果用下面的语句触发，那么a指向"foo",而b指向"bar"
} ).trigger("click", ["foo", "bar"]);</code></pre>
      <h4>描述:</h4>
      <p>下面的代码可以显示一个"Hello World"</p>
      <h5>jQuery 代码:</h5>
      <pre><code>$("p").bind("myEvent", function (event, message1, message2) {
  alert(message1 + ' ' + message2);
});
$("p").trigger("myEvent", ["Hello","World!"]);</code></pre>
    </div>
  </div>

</div>
</body>
<script type="text/javascript" src="static/js/jquery.min.js"></script>
<script type="text/javascript" src="static/js/jquery.autocomplete.js"></script>
<script type="text/javascript" src="static/js/dtree.js"></script>
<script type="text/javascript" src="static/js/js.js"></script>
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "//hm.baidu.com/hm.js?27646e8f048a16e17f027842e6bdb8f0";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>
</html>
